﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinqToLfsWorld.Interface
{
	/// <summary>
	/// Interface for a serializer
	/// </summary>
	/// <typeparam name="T">The type to serialize</typeparam>
	public interface ISerializer<T>
		where T: class
	{
		/// <summary>
		/// Serializes the specified object graph.
		/// </summary>
		/// <param name="objectGraph">The object graph.</param>
		string Serialize(T objectGraph);

		/// <summary>
		/// Deserializes the specified serialized object graph.
		/// </summary>
		/// <param name="serialized">The serialized object graph.</param>
		T Deserialize(string serialized);
	}
}
